<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>日期类</title>
  <script>
    function f1(){
      //当前时间
      let date=new Date()
      let time=date.getTime()
      console.log(date)
      //可以按照年月日时分秒毫秒的顺序传递参数
      //不能单独指定年份，至少制定年份与月份
      date =new Date(2020,2,2,2,2,2)
      console.log(date)
      //参数可以是一个毫秒
      date=new Date(time)
      console.log(date)
    }

    function f2(){
      let date=new Date()
      console.log("年份:"+date.getFullYear())
      //月份取值:0-11
      console.log("月份:"+date.getMonth())
      console.log("月份:" + (date.getMonth() + 1))
      console.log("天数:" + date.getDate())
      console.log("小时数:" + date.getHours())
      console.log("分钟数:" + date.getMinutes())
      console.log("秒数:" + date.getSeconds())
      console.log("毫秒数:" + date.getMilliseconds())
      // 取值:0-6,0表示周日,1-6表示周一到周六
      console.log("周" + date.getDay())
    }
    function f3(){
      let date=new Date()
      date.setFullYear(2020)
      date.setMonth(4)
      // getMonth取值月份要加1，因为它的取值是0-11
      console.log(date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日 " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds())
    }
    function f4(){
      let date = new Date(2020, 11, 31);
      console.log(date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日 " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds())
      // 2000-12-31,此处是修改了年份
      date.setFullYear(2000)
      console.log(date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日 " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds())
// 2000-2-31,由于2月份没有31号,2000年是一个闰年,最多29号
      // 因此,这个日期表示的是2000-3-2
      date.setMonth(1);
      console.log(date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日 " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds())
      console.log(date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate());
      // A.2000-1-31  B.2000-2-2  C.2000-2-29 D.2000-3-2

    }
    function f5(year, month) {
      // 求year年month月共有多少天
      // 这个月的最后一天=下一个月的第一天的前一天
      // let date = new Date(year,month-1+1,1-1);
      // 本月最后一天
      let date = new Date(year, month, 0);
      // 本月最后一天获取当前日期是本月第几天,则表示这个月共有多少天
      let countDay = date.getDate();
      console.log(year + "年" + month + "月共有" + countDay + "天")
    }

    function f6() {
      // 按照yyyy-MM-dd HH:mm:ss的格式打印出日期,除了年份以外都必须是两位数字,不足两位的前面补0
      // 例如:2022-02-02 02:03:10
      let date=new Date()
      console.log(date.getFullYear()+"—"+fn(date.getMonth())+"-"+fn(date.getDate())+" "+ fn(date.getHours() )+ ":" + fn(date.getMinutes()) + ":" + fn(date.getSeconds()))
    }
    function fn(s) {
      // 每一个变量进来之后前面补一个0
      s = "0" + s;
      // 1-->01  11->011
      // 截取字符串,保留后两位
      //   两位从零开始，三维从1开始
      return s.substring(s.length - 2);
    }
  </script>
</head>
<body>
<button onclick="f1()">定义方式</button><br>
<button onclick="f2()">取值方式</button><br>
<button onclick="f3()">赋值方式</button><br>
<button onclick="f4()">测试</button><br>
<button onclick="f5(2020,2)">练习一</button><br>
<button onclick="f6()">练习二</button>
</body>
</html>